The subject invention relates to encryption of information using public key encryption technology. (By “public key” encryption herein is meant encryption technology which uses pairs of keys: a public key, which is published or made publicly known; and a corresponding private key, kept secret by a user.) More particularly it relates to the use of private keys to certify postal indicia and the like and the certification of corresponding public keys.
Using public key encryption anyone can encrypt a message with a public key and have assurance that only a user (i.e. a party having the corresponding private key) can decrypt it, and a user can “sign” a message using the corresponding private key and anyone can use the public key to ascertain if the message originated with the user. (A message is “signed” by deriving encrypted information derived in a known manner from the message.)
Because public keys can be distributed so widely, it will in general be the case that persons communicating with users of public key systems will not be in direct contact with the users and will not be able to directly determine the identity and/or characteristics of the putative users of a public key system. For example, proof of payment systems, in particular postage meters, which generate indicia encrypted using public key systems as proof of payment have recently been developed by the assignee of the present application and others; and, given the hundreds of thousands of postage meters in service, it is clear that the postal services will face a severe problem in assuring that indicia purportedly generated by a meter corresponding to a particular public key is in fact generated by an authorized postage meter.
To overcome the difficulties inherent in authenticating public keys numerous schemes for issuing certificates for public keys have been proposed. In such schemes, a trusted third party (hereinafter sometimes a “certifying authority”) provides parties who wish to communicate with a user with a certificate containing the user's public key, the certificate serving to evidence the third party's assurances as to the identity or characteristics of the user. In the simplest case such certificates are no more than entries in a directory delivered through a secure channel. More generally the certifying authority will use an encryption technology to deliver the certificate.
In U.S. Pat. No. 4,853,961; for: “Reliable Document Authentication System”; to: Pastor, a public key for a postage meter is encrypted with a third party's private key and included in the meter indicia. The postal service uses the third party's public key to recover the meter public key and decrypt the encrypted message which serves to validate the indicia.
In U.S. Pat. No. 5,661,803; for: “Method of Token Verification in a Key Management System”; to: Cordery et al., a method of token verification in a key management system is disclosed.
In U.S. Pat. No. 5,680,456; for: “Method of Manufacturing Generic Meters in a Key Management System”; to: Baker et al., a method for manufacturing transaction evidencing devices such as postage meters includes the steps of generating a master key in a logical security domain of a key management system and installing the master key in a postage meter.
In U.S. Pat. No. 5,742,682; for: “Method of Manufacturing Secure Boxes in a Key Management System”; to: Baker et al., a method of manufacturing a secure box in a key management system is taught.
In U.S. Pat. No. 5,805,701; for: “Enhanced Encryption Control System for a Mail Processing System Having Data Center Verification”; to: Ryan, Jr., a key control system comprising generation of a first set of master keys and assigning the keys to a corresponding plurality of postage meters is taught.
In U.S. Pat. No. 5,878,136; to: Kim et al.; filed Oct. 8, 1993, issued: Mar. 2, 1999, a key control system comprising generation of a first set of master keys and assigning the keys to a corresponding plurality of postage meters is taught. Keys may be changed by entry of a second key via encryption with a first key.
In U.S. Pat. No. 5,661,803; to: Cordery et al.; issued: Aug. 26, 1997, a method for controlling keys used in the verification of encoded information generated by a transaction evidencing device and printed on a document is taught.
The ITU X509.3 standard teaches a standard in which a first user's certificates includes the user's public key, identification and authorization information, and a signature of the certificate authority. A second user verifies a signature of a message generated by the first user by verifying that the authorization information is satisfactory, that the certificate authority's signature on the certificate verifies, extracting the first user's public key, and verifying the signature.
While the above methods are successful in achieving their intended purpose they are disadvantageous in that they are computationally complex, may produce certificates which are large and inflexible, and may require special hardware.
The following references contain information useful to a general understanding of elliptic curve encryption and certification of public keys.
Secure Hash Standard—FIPS PUB 180-1,” Apr. 17, 1995.
Digital Signature Standard—FIPS PUB 186,” May 19, 1994 and Change 1, Dec. 30, 1996.
ANSI X9.62, Elliptic Curve Digital Signature Algorithm Standard (ECDSA), Working Draft, Jan. 15, 1997.
ISO/IEC 9594-8 (1995). Information Technology—Open Systems Interconnection—The Directory: Authentication Framework.”
PKCS #10: Certification Request Syntax Standard, An RSA Laboratories Technical Note,” Version 1.0, December 1993.
Another method of key certification based upon elliptic curve public key encryption technology has been developed by the Certicom Corporation. (The use of elliptic curve encryption technology is known and a more detailed description of its use, beyond what is given below in the context of certification of public keys, is not required for an understanding of the subject invention.)
Elliptic curve encryption is an example of a cryptographic algorithm based on application of an binary operator to points in a finite group. In elliptic curve encryption a finite group of points [P] of order n is defined on an elliptic curve. A binary additive operator [+] (hereinafter sometimes “point addition”) is defined on the group [P] such that P[+]P′ is a point in [P]. A more detailed, graphical description of point addition is shown in FIG. 1. As is known to those skilled in the cryptographic art, disjoint curve 10 has the general form y2=x3+ax+b defined over the finite Galois field GF(pm) where p is a prime number other than 2 and m is an integer. Over the Galois field GF(2m) the curve has the form y2+xy=x3+ax+b. It can be shown that groups of discrete points [P] of order n can be defined on curve 10, where n is preferably a number on the order of at least 50 decimal digits in order to provide sufficient security for encrypted information.
As is seen in FIG. 1 curve 10 is symmetric about the x axis so that for any point (x,y) on curve 10 its reflection around the x axis R(x,y)=(x,−y) is also on curve 10.
For two points P,P′ in [P] it can be show that there exists a unique point R(P[+]P′) which is a third point common to straight line 12 defined by P and P′ and curve 10. P[+]P′ is defined as R(R(P[+]P′).
FIG. 2 shows the special case for computation of P[+]P. Straight line 14 is defined as tangent to the closed portion of curve 10 and intersecting point P, and R(P[+]P) is defined as the second point common to line 14 and curve 10.
A second operation K*P (herein after sometimes “point multiplication”) is defined as the application of [+] to K copies of a point P. FIG. 3 geometrically illustrates computation of 5*P by successive computation of the points P[+]P=2*P, 2*P[+]2*P=4*P, 4*P[+]P=5*P. Point multiplication is the basic operation underlying elliptic curve encryption and has the property that computation of K from knowledge of the group [P], a particular point P, and K*P is hard.
By “hard” as used herein in regard to computation is meant a computation wherein the time required increases faster than the order of the operands log n, preferably exponentially or faster with the order of the operands (log n)|. This means that where K is of order n, the order of [P], and n is chosen large enough the cost, in time or money, of computing K from knowledge of the definition of [P], P, and K*P can be made arbitrarily large while the cost of other computations relating to encryption or decryption remains relatively low and practicable. Of course those skilled in the encryption art will recognize that, even though encryption and decryption can in principle be carried out by manual computation, the possibly of an attack on an encryption scheme using modem computer technology requires that, in practice, the order n be so great that even the relatively easy computations must be carried out by automated encryption stations; e.g. special purpose, or specially programmed general purpose, digital processing systems.
Point multiplication has been described in terms of the group represented by point addition on a discrete elliptic curve. In other embodiments the subject invention can be implemented using any group representation where determining K is hard given the point P and the point formed by combining K copies of point P by repeated application of the group additive point operation.
In elliptic curve encryption a user U has a private key KeyU and a corresponding public key KeyU*P; where P is a published or publicly known point in [P]. To generate a certified public key in accordance with the above mentioned Certicom encryption scheme user U (i.e. a station operated by user U) generates and keeps secret a random number rU; and computes and sends to a certifying authority CA the point rU*P. Certifying authority CA has a private KeyCA and a public key KeyCA*P. Upon receipt of rU*P the CA generates a random number rCA and computes and publishes a certificate including a point, rU*P[+] rCA*P, wherein rCA is a random number generated by the CA (i.e. by the CA station). Authority CA, which is presumed to have the capability to directly determine the identity or characteristics of user U, also generates information IDU and about U includes IDU in the certificate. Certifying Authority CA then returns an integer derived from the CA's private key and the certificate to the user station which uses that integer to compute key KEYU in such a manner that a party communicating with user U can compute KEYU*P from the certificate and the certifying authority's public key KeyCA; providing evidence that the certifying authority has linked user U, KEYU, and IDU.
The above described certification scheme is believed to be advantageous in that it is computationally simpler, produces smaller certificates, and does not require special secure hardware. However it does not address the special situation of certification of public keys used to verify value evidencing indicia such as digital postal indicia. For example, a Postal Service which wishes to verify encrypted metered mail may need assurance that the putative public key of a meter has been certified by the meter manufacturer or one or more agencies of the Postal Service. It is also desirable that digital signatures (hereinafter sometimes Cryptographic Integrity Validation Code or CIVC) of postal indicia and the like satisfy the following requirements:
1. The CIVC must possess cryptanalytic strength above a predetermined threshold, typically 280 operations; that is the best known algorithms the find a secret key from publicly available plain texts and cyphertexts requires at least 280 operations.
2. The CIVC should be of minimal size due to limitations of space available for postal indicia and the like, and the CIVC size needed to maintain required cryotanalytic strength should increase slowly with improvements in cryptanalytic algorithms.
3. Computational requirements to generate and verify CIVC's should be compatible with the fastest mail generation or verification equipment.
4. The indicia, including CIVC's, should contain all the information needed for verification.
5. The indicia should contain information allowing the verifier to perform audit functions to reduce risk of misuse of carrier funds. In particular certification of a postage meter key should also implicitly evidence meter operating parameters such as expiration date or maximum postage value.
6. Costs of the system, including infrastructure such as key management systems, should be minimal.
Methods and systems based on known public key cryptographic schemes such as RSA, DSA, or ECDSA have been suggested but are not believed to fully satisfy the requirements of a digital postage metering system. Accordingly it is an object of the subject invention to provide a method for controlling, and distributing information among, digital postage meters, and the like, and a certifying authority so that such meters can generate indicia, and public keys for verifying such indicia can be certified in a functionally satisfactory and cost effective system.